﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HA.ModFlow.Domain.DomainLayer
{

    /// <summary>
    /// LPF层参数
    /// </summary>
    [Serializable]
    public class LPFLayer:ICloneable


    {


        public LPFLayer(int rowi, int colj)
        {
            //_HANI=new double[rowi,colj];
            //_VKORVANI=new double[rowi,colj];
            //_WETDRY = new double[rowi, colj];
            //_Ss = new double[rowi, colj];
            //_Sy = new double[rowi, colj];
            //_VKCB = new double[rowi, colj];

            //for (int i = 0; i <rowi; i++)
            //{
            //    for (int j = 0; j < colj; j++)
            //    {
            //        _HANI[i, j] = 1;
            //        _WETDRY[i, j] = 1;
            //    }
            //}

        }


        LPFLAYERTYPE _layerType=LPFLAYERTYPE.CONVERTIBLE;

        public LPFLAYERTYPE LayerType
        {
            get { return _layerType; }
            set { _layerType = value; }
        }

        int _LAYAVG=0;

        /// <summary>
        /// 0,1,2 标志位，interblock transmissity的计算方法
        /// </summary>
        public int LAYAVG
        {
            get { return _LAYAVG; }
            set { _LAYAVG = value; }
        }


        double _CHANI;

        /// <summary>
        /// 当定义为《=0时 需要读取水平弥散hani  大于0 则为水平均质标志整层的值
        /// </summary>
        public double CHANI
        {
            get { return _CHANI; }
            set { _CHANI = value; }
        }

        bool _LAYVKAIsValue;

        /// <summary>
        /// Vka的表示，true表示实际的值，false表示比例
        /// </summary>
        public bool LAYVKAIsValue
        {
            get { return _LAYVKAIsValue; }
            set { _LAYVKAIsValue = value; }
        }

        bool _canWet;

        /// <summary>
        /// 湿化标志
        /// </summary>
        public bool CanWet
        {
            get { return _canWet; }
            set { _canWet = value; }
        }



        //double[,] _HK;

        //public double[,] HK
        //{
        //    get { return _HK; }
        //    set { _HK = value; }
        //}


        //double[,] _HANI;

        //public double[,] HANI
        //{
        //    get { return _HANI; }
        //    set { _HANI = value; }
        //}


        //double[,] _VKORVANI;

        //public double[,] VKORVANI
        //{
        //    get { return _VKORVANI; }
        //    set { _VKORVANI = value; }
        //}

        //double[,] _Ss;

        //public double[,] Ss
        //{
        //    get { return _Ss; }
        //    set { _Ss = value; }
        //}


        //double[,] _Sy;

        //public double[,] Sy
        //{
        //    get { return _Sy; }
        //    set { _Sy = value; }
        //}

        //double[,] _VKCB;

        //public double[,] VKCB
        //{
        //    get { return _VKCB; }
        //    set { _VKCB = value; }
        //}


        //double[,] _WETDRY;

        //public double[,] WETDRY
        //{
        //    get { return _WETDRY; }
        //    set { _WETDRY = value; }
        //}


        public object Clone()
        {
            return this.MemberwiseClone();
        }
    }
}
